#ifndef FRAMEEVENT_H
#define FRAMEEVENT_H

namespace tyro
{
	namespace Engine
	{
		enum FrameEventTypes {
			FRAMEEVENT_ANY = 0, 
			FRAMEEVENT_STARTED = 1, 
			FRAMEEVENT_QUEUED = 2, 
			FRAMEEVENT_ENDED = 3, 
			FRAMEEVENT_COUNT = 4
		};

		

		class FrameEvent
		{
		public:
			FLOAT_32 lastEventTime;
			FLOAT_32 lastFrameTime;
		};

		class FrameListener
		{
		public:

			virtual bool FrameStarted(const FrameEvent& evt) { (void)evt; return true; }
			virtual bool FrameQueued(const FrameEvent& evt) { (void)evt; return true; }
			virtual bool FrameEnded(const FrameEvent& evt) { (void)evt; return true; }

			virtual ~FrameListener(){}
		
		};
	}
}
#endif